<?php 

// 定义大量路径常量（供后面用）

define("__PUBLIC__", './Public');

define("CONF_PATH", './Xbsphp/Conf');

define("LIB_PATH", './Xbsphp/Lib');

define("CORE_PATH", './Xbsphp/Core');

// 引用全局的一些方法
include_once CONF_PATH.'/function.php';

//自动加载类

function __autoload($classname)
{
	//自类可能存在的路径 
	$paths = array(
		CONTROLLER_PATH.'/'.$classname.".class.php",
		MODEL_PATH.'/'.$classname.".class.php",
		CORE_PATH.'/'.$classname.".class.php",
		);

	//循环判断类文件是否存在
	foreach ($paths as $path) {
		if(file_exists($path)){
			include $path;
			return;
		}
	}
}


// $pathInfo = rtrim($_SERVER['PATH_INFO'],C('DEFAULT_SUFFIX'));

// $pathInfo =ltrim($pathInfo,'/');

// $arr = explode('/', $pathInfo);

// $module = ucfirst(strtolower($arr['0']));
// $controller = ucfirst(strtolower($arr['1']));
// $action = ucfirst(strtolower($arr['2']));

//接收路径的参数，去动态的调用不同功能
//模块
$module = isset($_GET['m']) ? ucfirst(strtolower($_GET['m'])): C('DEFAULT_MODULE');
//控制器
$controller =isset($_GET['c']) ? ucfirst(strtolower($_GET['c'])) : C('DEFAULT_CONTROLLER');
//方法
$action = isset($_GET['a']) ? ucfirst(strtolower($_GET['a'])) : C('DEFAULT_ACTION');


//定义相关常量后面用
//模块常量
define("MODULE_PATH", APP_PATH.'/'.$module);
//控制器常量
define("CONTROLLER_PATH", MODULE_PATH.'/Controller');
//模型常量
define("MODEL_PATH", MODULE_PATH.'/Model');
//视力路径常量
define("VIEW_PATH", MODULE_PATH.'/View');

//控制器名常量
define("CONTROLLER_NAME", $controller);
//方法名常量
define("ACTION_NAME", $action);

// var_dump($module,$controller,$action );

//组合控制器名
$controller = $controller."Controller";

// 实例化相对应控制
$obj = new $controller();

//调用控制里面的相对应方法
$obj->$action();








 ?>